using System;
using System.Runtime.InteropServices;

namespace BarcodePrinting.Argox
{
	public static class ArgoxDLL
	{
		[DllImport("Winpplb.dll")]
		internal static extern int B_CreatePrn(int selection, string filename);

		[DllImport("Winpplb.dll")]
		internal static extern int B_GetUSBBufferLen();

		[DllImport("Winpplb.dll")]
		internal static extern int B_EnumUSB(byte[] buf);

		[DllImport("Winpplb.dll")]
		internal static extern int B_CreateUSBPort(int nPort);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Set_Darkness(int darkness);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Set_Speed(int speed);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Set_Backfeed(char option);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Set_Labgap(int lablength, int gaplength);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Set_Labwidth(int labwidth);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Prn_Text(int x, int y, int ori, int font, int hor_factor, int ver_factor, char mode, string data);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Prn_Text_TrueType(int x, int y, int FSize, string FType, int Fspin, int FWeight, int FItalic, int FUnline, int FStrikeOut, string id_name, string data);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Prn_Text_TrueType_W(int x, int y, int FHeight, int FWidth, string FType, int Fspin, int FWeight, int FItalic, int FUnline, int FStrikeOut, string id_name, string data);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Prn_Barcode(int x, int y, int ori, string type, int narrow, int width, int height, char human, string data);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Set_ProcessDlg(int nShow);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Print_Out(int labset);

		[DllImport("Winpplb.dll")]
		internal static extern int B_Print_MCopy(int labset, int copies);

		[DllImport("Winpplb.dll")]
		internal static extern int B_ClosePrn();

		[DllImport("Winpplb.dll")]
		internal static extern int B_ResetPrinter();

		[DllImport("Winpplb.dll")]
		internal static extern int B_Initial_Setting(string sCommand);
	}
}
